package com.jic.order.model.domain;

import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Getter
@Setter
public class OrderDeliverModel implements Serializable {

    //主键ID
    private long id;
    //订单号
    private String orderNo;
    //交货单号
    private String deliverNo;
    //交货单状态，待发货、已发货
    private Integer orderStatus;
    //交货方式，WMS仓储发货（对应有仓）、供应商自发货（对应无仓）
    private Integer deliverWay;
    //仓库ID，有仓有值
    private long warehouseId;
    //仓库名称，有仓有值
    private String warehouseName;
    //供应商ID，无仓有值
    private long supplierId;
    //下单时间
    private Date buyTime;
    //购买人
    private long buyerId;
    //购买人用户名
    private String buyerUsername;
    //购买人真实名称
    private String buyerRealname;
    //收货人省id
    private long receiverProvinceId;
    //收货人省名称
    private String receiverProvinceName;
    //收货人市id
    private long receiverCityId;
    //收货人市名称
    private String receiverCityName;
    //收货人区/县id
    private long receiverCountryId;
    //收货人区/县名称
    private String receiverRegionName;
    //收货人名字
    private String receiverName;
    //收货人电话
    private String receiverPhone;
    //收货人详细地址
    private String receiverAddress;
    //备注
    private String mark;
    //版本号
    private long version;

    private SellerModel sellerModel;

    //交货单明细，主要记录商品
    private List<OrderDeliverDetailModel> orderDeliverDetailModelList = new ArrayList<>();

    //包裹
    private List<OrderBaleModel> orderBaleModelList = new ArrayList<>();

    @Getter
    @Setter
    public static class OrderDeliverDetailModel{
        //主键ID
        private long id;
        //商品id
        private long goodsId;
        //商品名称
        private String goodsName;
        //数量
        private Integer goodsNum;
        //版本号
        private long version;
    }

}
